<?php
namespace app\tactics\admin;

use app\admin\controller\Admin;
use app\common\builder\ZBuilder;
use app\admin\model\Area as AreaModel;
use think\Db;
/**
 *
 */
class Tags extends Admin
{
    /**
        * 地区列表
        * @author 陈梦晨 <2391157750@qq.com>
        * @return mixed
        */
       public function index()
       {
          // 查询
           $map = $this->getMap();
           $parentid=input('parentid',0,'intval');
           if($parentid){
               $map['parentid']=$parentid;
           }else{
               $map['parentid']=0;
           }


           // 排序
           $order = $this->getOrder('id asc');
           // 数据列表
           $data_list = AreaModel::getAll($map, $order);
           // 分页数据
           $page = $data_list->render();

           // 使用ZBuilder快速创建数据表格
           return ZBuilder::make('table')
               ->setPageTitle('地区管理') // 设置页面标题
               ->setSearch(['name' => '区域名称']) // 设置搜索框
               ->hideCheckbox()
               ->addColumns([ // 批量添加数据列
                   ['id', '编号'],
                   ['name', '区域名称'],
                   ['listorder', '排序'],
                   ['status', '状态', 'status', '',['启用','禁用']],
                   ['right_button', '操作', 'btn']
               ])
               ->addOrder(['listorder', 'id'])
               ->addRightButton('edit', ['icon' => 'fa fa-eye', 'title' => '编辑', 'href' => url('edit', ['id' => '__id__'])])
               ->addRightButton('delete',['icon' => 'fa fa-times', 'title' => '删除', 'href' => url('delete', ['id' => '__id__'])])
               ->addRightButton('index',['icon' => 'fa fa-fw fa-plus', 'title' => '下级地区', 'href' => url('index', ['parentid' => '__id__'])])
               ->setRowList($data_list) // 设置表格数据
               ->setPages($page) // 设置分页数据
               ->fetch(); // 渲染模板
       }

       /**
        * 日志详情
        * @param null $id 日志id
        * @author 蔡伟明 <314013107@qq.com>
        */
       public function edit($id = null)
       {
           if ($id === null) return $this->error('缺少参数');
           $info = AreaModel::find(['id' => $id]);


           $list_province = db("admin_area")->where("parentid=0")->column("id,name");
           // 使用ZBuilder快速创建表单
           return ZBuilder::make('form')
               ->setPageTitle('编辑') // 设置页面标题
               ->addFormItems([ // 批量添加表单项
                    ['hidden', 'id'],
                    ['text', 'name', '地区名称'],
               ])
               ->addLinkage('province', '选择省份', '', $list_province, '', url('get_city'), 'city,area')
               ->addLinkage('city', '选择城市', '', '', '', url('get_area'), 'area')
               ->addSelect('area', '选择地区')
               ->addRadio('status', '状态', '', ['0' => '禁用', '1' => '启用'])
               ->setFormData($info) // 设置表单数据
               ->layout(['province' => 3, 'city' => 3, 'area' => 3, 'status' => 3])
               ->fetch();

       }
       public function add(){
           return $this->fetch();
       }

       public function get_city($province = '') {
           $result = db("admin_area")->where("parentid=" . $province)->column("id,name");

           $arr['code'] = '1'; //判断状态
           $arr['msg'] = '请求成功'; //回传信息
           $arr['list'] = $result; //数据
           return json($arr);
       }

       public function get_area($city = '') {
           $result = db("admin_area")->where("parentid=" . $city)->column("id,name");

           $arr['code'] = '1'; //判断状态
           $arr['msg'] = '请求成功'; //回传信息
           $arr['list'] = $result; //数据
           return json($arr);
       }
}
